The present invention relates generally to computer animation systems and more particularly to a method and apparatus for delaying the rendering of nested composition layers.
Programmed computers can be used to edit and create movies. For example, a computer program product called After Effects, available from Adobe Systems Incorporated of Mountain View, Calif., is licensed for use on a variety of personal computers and provides its user the ability to edit and create movies by integrating and arranging pieces of footage. In such programs, the process of creating a movie typically occurs in two major stages: modeling and rendering.
Modeling is the process of creating the structure for a movie project, commonly called a "composition", by defining the arrangement and timing of imported footage. A composition is essentially a set of instructions that define the processing of footage pieces in space and time in the formation of a movie. Each composition typically includes the definition of one or more layers, which are place holders for pieces of footage. Modeling includes the sub-processes of importing footage into the layers in a composition, editing the footage, arranging or "compositing" the various pieces of footage, and adding animation or other effects to the composition layers.
Imported footage may be in the form of video, pictures, animations, drawings, stills, photographs, computer generated images, or other compositions. Accordingly, a composition may include single sampled images and other compositions (nested compositions) as individual layers resulting in complex hierarchical composites.
Each piece of imported footage is assigned to a layer. Compositing integrates or combines the footage of the respective layers by using geometry masks, transparency information and effects. As the layers of the composition are integrated in the composition, animation and other effects are applied to each layer.
To create a final output, such as a film or videotape for viewing, the composition must be rendered. The rendering process transforms the footage and instructions associated with each layer into finished video frames. During the rendering process, corresponding pixels from each layer are composited on top of each other to create a final image, a frame at a time, in the output format requested by the user. Compositions are rendered using a fixed rendering order. For each layer in a composition the following steps are performed: (1) a source image is retrieved; (2) as appropriate, the source image is cut or clipped according to a mask to define that portion of the source image which is to be visible in the display space; (3) the clipped image is processed according to the designated image processing routines; (4) the processed image is transformed according to the geometric properties associated with the respective layer (e.g., position, rotation and scale); and (5) the transformed image is blended with previously rendered layers in the composition to form a composite image.